package site.jlopen.secret.service.intf;

import site.jlopen.secret.common.SecretClientResponse;
import site.jlopen.secret.model.data.SecretDataAllInfoResp;
import site.jlopen.secret.model.data.SecretDataCreateReq;
import site.jlopen.secret.model.data.SecretDataInfoResp;

/**
* @ClassName: DataSourceManage
* @Description: 样本数据服务接口
* @author ChenJiaLu
* @date 2024年9月27日 下午2:25:53
 */
public abstract interface SecretDataManage {
	/**
	* <strong>上传节点数据</strong>
	* @Title: dataCreate
	* @Description: <p>返回结果需要调用方自行沉淀数据</p>
	* @param form
	* @return <p>TODO</p>
	* SecretClientResponse<String>
	* @author ChenJiaLu
	* @date 2024年9月29日 上午10:57:18
	 */
	public SecretClientResponse<SecretDataInfoResp> dataCreate(SecretDataCreateReq form);
	/**
	* <strong>修改节点数据</strong>
	* @Title: dataUpdate
	* @Description: <p>TODO</p>
	* @param form
	* @return <p>TODO</p>
	* SecretClientResponse<String>
	* @author ChenJiaLu
	* @date 2024年9月29日 上午10:57:23
	 */
	@Deprecated
	public SecretClientResponse<String> dataUpdate(SecretDataCreateReq form);
	/**
	* <strong>移除节点数据</strong>
	* @Title: dataRemove
	* @Description: <p>TODO</p>
	* @param dataId
	* @return <p>TODO</p>
	* SecretClientResponse<String>
	* @author ChenJiaLu
	* @date 2024年9月29日 上午10:57:21
	 */
	@Deprecated
	public SecretClientResponse<String> dataRemove(Long dataId);
	/**
	* <strong>节点数据状态</strong>
	* @Title: dataStatus
	* @Description: <p>返回结果中的data参数属于数据对象ID</p>
	* @param dataId
	* @return <p>TODO</p>
	* SecretClientResponse<String>
	* @author ChenJiaLu
	* @date 2024年9月29日 上午10:57:26
	 */
	public SecretClientResponse<String> dataStatus(Long dataId);
	/**
	* <strong>获取节点数据</strong>
	* @Title: dataInfo
	* @Description: <p>TODO</p>
	* @param dataId
	* @return <p>TODO</p>
	* SecretClientResponse<SecretDataInfoResp>
	* @author ChenJiaLu
	* @date 2024年9月29日 上午10:57:29
	 */
	public SecretClientResponse<SecretDataInfoResp> dataInfo(Long dataId);
	/**
	* <strong>获取节点数据</strong>
	* @Title: dataAllInfo<p>数据对象ID</p>
	* @Description: <p>返回该数据对象所有相关信息</p>
	* @param domainDataId
	* @return <p>TODO</p>
	* SecretClientResponse<SecretDataAllInfoResp>
	* @author ChenJiaLu
	* @date 2024年9月29日 上午10:57:29
	 */
	public SecretClientResponse<SecretDataAllInfoResp> dataAllInfo(String nodeCode, String domainDataId);
}
